import QtQuick 2.15
import QtQuick.Controls 2.15
import QtQuick.Layouts 1.15

ApplicationWindow {
    id: root
    width: 800
    height: 600
    visible: true
    title: "QML + QCustomPlot Demo"

    Rectangle {
        id: background
        anchors.fill: parent
        color: "#1e1e1e"

        // ------------------------
        // 顶部按钮区
        // ------------------------
        RowLayout {
            id: topBar
            anchors.top: parent.top
            anchors.left: parent.left
            anchors.right: parent.right
            anchors.topMargin: 10
            anchors.leftMargin: 10
            anchors.rightMargin: 10
            spacing: 10

            Button {
                text: "Add Random Data"
                onClicked: {
                    var value = Math.random() * 2 - 1
                    plotController.appendDataFromQml(value)
                }
            }

            Button {
                text: "Clear Data"
                onClicked: {
                    // 可以在 C++ 端添加 clearData() 方法调用
                    console.log("清空数据功能待实现")
                }
            }
        }

        // ------------------------
        // 绘图区域容器
        // ------------------------
        Rectangle {
            id: plotContainer
            anchors.top: topBar.bottom
            anchors.topMargin: 10
            anchors.left: parent.left
            anchors.right: parent.right
            anchors.bottom: parent.bottom
            color: "black"

            // 这里用 WindowContainer 放置 C++ QCustomPlot 窗口
            // 需在 C++ main.cpp 中用 createWindowContainer() 将 QWidget 放入这个容器
        }

        // ------------------------
        // 可选状态栏 / 信息显示
        // ------------------------
        Text {
            id: statusText
            anchors.bottom: parent.bottom
            anchors.left: parent.left
            anchors.bottomMargin: 5
            anchors.leftMargin: 10
            color: "white"
            font.pixelSize: 14
            text: "Status: Ready"
        }
    }
}
